import pandas as pd
import numpy as np

def detailed_analysis():
    """详细分析Excel文件，找出工资标准列的位置"""
    
    # 分析钉钉文件
    print("详细分析钉钉Excel文件...")
    print("="*50)
    
    file_path = "d:/pycode/ding/宸著锦庭6月考勤.xlsx"
    
    # 使用skiprows=2读取
    df = pd.read_excel(file_path, skiprows=2)
    print(f"数据形状: {df.shape}")
    print(f"列名: {list(df.columns)}")
    
    # 显示前5行数据，查看每列的内容
    print("\n前5行数据:")
    for i, row in df.head(5).iterrows():
        print(f"\n第{i+1}行:")
        for j, (col, val) in enumerate(row.items()):
            if pd.notna(val) and str(val).strip() != '':
                print(f"  列{j}({col}): {val}")
    
    # 查找可能包含工资数据的列
    print("\n查找可能的工资列...")
    for i, col in enumerate(df.columns):
        print(f"\n分析列{i}: {col}")
        # 获取该列的非空数据
        non_null_data = df[col].dropna()
        if len(non_null_data) > 0:
            print(f"  非空数据数量: {len(non_null_data)}")
            print(f"  前5个值: {list(non_null_data.head(5))}")
            
            # 检查是否包含数字
            numeric_values = []
            for val in non_null_data.head(10):
                try:
                    if str(val).replace('.', '').replace('-', '').isdigit():
                        num_val = float(val)
                        if 1000 <= num_val <= 50000:  # 可能的工资范围
                            numeric_values.append(num_val)
                except:
                    pass
            
            if numeric_values:
                print(f"  可能的工资数据: {numeric_values}")
                print(f"  平均值: {np.mean(numeric_values):.2f}")
    
    # 分析工资表文件
    print("\n\n详细分析工资表Excel文件...")
    print("="*50)
    
    salary_file = "d:/pycode/工资表.xlsx"
    salary_df = pd.read_excel(salary_file)
    print(f"工资表数据形状: {salary_df.shape}")
    print(f"工资表列名: {list(salary_df.columns)}")
    
    print("\n工资表前3行数据:")
    for i, row in salary_df.head(3).iterrows():
        print(f"\n第{i+1}行:")
        for j, (col, val) in enumerate(row.items()):
            if pd.notna(val):
                print(f"  {col}: {val}")

if __name__ == "__main__":
    detailed_analysis()